<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <script type="text/javascript">
        function show(...val) {
            console.log(this,val)
        }

        show.bind('guoxiao',1,2,3)()
        //bind 改变this 指向 

        // -1 . 第一个参数可以改变函数的this
        // -2 . 从第一个参数之后的参数就是对应函数的行参
        // -3 . 函数会直接调用

        var a = 5;
        var b = {
            a:12,
            show(){
                console.log(this)
                setTimeout(function(){ 
                    //setTimeout 是window调用的,所以是 5
                    // 把函数bind成当前函数(show),就可以改变this指向
                    alert(this.a)
                }.bind(this),1000) 
            }
        }
        b.show()
    </script>
</body>

</html>